ESTI019 - Codificação de Sinais Multimídia - Lab9 - MIDI e IR

Prof. Mário Minami

Alunos:

  1. João Vitor Garrido - RA: 11201811064
  2. Gabriel de Oliveira Souza - RA: 11201811094
  3. Victor Gabriel Ferreira dos Santos - RA: 11201811459

Introdução

Neste laboratório, foram utilizadas as bibliotecas Magenta e Librosa, dentro do ambiente de desenvolvimento do Google Colab, para estudar técnicas processamento de áudio MIDI e explorar aspectos relativos à Reposta sonora ao impulso unitário.

Dentre as atividades de processamento desenvolvidas, foi possível atingir os seguintes objetivos:

Objetivos

  1. Tocar notas e gerar músicas simples
  2. Gerar arquivos MIDI
  3. Reproduzir arquivos MIDI
  4. Simular a reprodução em salas com Respostas Impulsivas diversas

Link para o ambiente Colab utilizado no desenvolvimento desta prática:

Instalando a biblioteca para manipulação de Áudio MIDI Magenta

Importando todas as Bibliotecas utilzadas durante esta prática de laboratório:

Parte 1 - Explorando a Biblioteca Magenta

1. Tocar notas e gerar músicas simples

1.1. Gerando TONS com NoteSequences

Everything in Magenta is centered around NoteSequences. This is an abstract representation of a series of notes, each with different pitches, instruments and strike velocities, much like MIDI.

For example, this is a NoteSequence that represents "Twinkle Twinkle Little Star".

Pode variar os tempos e as notas

1.2. Agora com ASA BRANCA

Pode usar outro instrumento. Por exemplo, uma bateria

2. Gerando arquivos MIDI: NoteSequence -> MIDI

When you called the "play_sequence" method above, this converted the NoteSequence to MIDI, and created an HTML widget to play it. This method is specially made for colab notebooks, so it won't work inside your Python script. That method uses the Magenta built-in conversion methods, which you can use in your python script:

3. Reproduzindo Arquivos MIDI

Adquirindo os arquivos do repositório do GitHub

Carregando MIDI

4. Tocando a música em alguns ambientes

Adquirindo os arquivos do repositório do GitHub

"Tocando" Chopin na Capela

Parte 2 - Gerando Músicas Próprias

5.1. Músicas dos Integrantes

Nesta parte do laboratório, foi desenvolvida a Função generat_music(), utilizada para gerar as músicas de 18s entorno de um determinado pitch escolhido por cada um dos integrantes.

5.1.1 - Música Gabriel

5.1.2 - Música Victor

5.1.3 - Música João

5.2. Reprodução de Música MIDI (criada) nos Ambientes

Nesta parte do laboratório, foi desenvolvida a Função reproduz_ambiente() para realizar a operação de convolução entre a reposta impulsiva de cada ambiente devidamente normalizada e o aúdio musical escolhido, também devidamente normalizado.

Gerando a música mais longa a ser utilizada nos diversos ambientes

5.2.1. Música na Capela da Igreja

5.2.2. Música na Sala de Concertos

5.2.3. Música na Escada da Universidade

5.3. Reprodução de Música (web) nos Ambientes

Nesta parte do laboratório, foi desenvolvida a Função reproduz_ambiente() para realizar a operação de convolução entre a reposta impulsiva de cada ambiente devidamente normalizada e o aúdio musical escolhido, também devidamente normalizado.

Gerando a música mais longa a ser utilizada nos diversos ambientes

5.3.1. Música na Capela da Igreja

5.3.2. Música na Sala de Concertos

5.3.3. Música na Escada da Universidade

Conclusão

Neste laboratório, através da manipulação de dados de áudio MIDI, foi possível aplicar técnicas de composição musical e estudo de repostas ao impulso unitário sonoras.

Através das bibliotecas Librosa e Magenta, foi possível realizar processos de criação e manipulação de arquivos de áudio MIDI, alterando sua qualidade, sonoridade e aspectos acústicos de reververação.

A partir dos sinais criados e processados, foram extraídas componentes como: